<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./OL_SDK/include-openlayers-local.js"></script>
    <script src="./libs/gaode.js"></script>
</head>

<body>
    <div id="map">
    </div>
    <script>
        var docLayer = new Zondy.Map.Doc("", "mtTestMap1", {

        })
        var map = new ol.Map({
            target: "map",
            layers: [gaode, docLayer],
            view: new ol.View({
                projection: 'EPSG:4326',
                center: [114.38, 30.495],
                zoom: 13
            })
        })
        function queryByAttr() {
            // 1.
            //初始化查询结构对象，设置查询结构包含几何信息
            var queryStruct = new Zondy.Service.QueryFeatureStruct();
            //是否包含几何图形信息（坐标）
            queryStruct.IncludeGeometry = true;
            // queryStruct.IncludeGeometry = false;
            //是否包含属性信息（属性字段）
            queryStruct.IncludeAttribute = true;
            // queryStruct.IncludeAttribute = false;
            //是否包含图形显示参数(样式)
            queryStruct.IncludeWebGraphic = false;
            // queryStruct.IncludeWebGraphic = true;
            // 注：以上三条的true和false分别决定了，查询回调中得到的data里面，
            // 的SFEleArray数组中，的每一个对象是否包含 【坐标，属性值，样式】三类信息。
            // 【AttValue(属性值)，GraphicInfo(样式)，fGeom(坐标等信息)】
            // 不过，如果需要在查到data之后，把data转化为ol中的features，
            // 那前两者是必须为true的。// 否则会报错。
            // 2.
            //实例化查询参数对象(此处，查询规则和几何后不用配置了)
            var queryParam = new Zondy.Service.QueryParameter({
                resultFormat: "json",
                struct: queryStruct
            });
            /*geometry: geomObj, // 1.
              resultFormat: "json",
              struct: queryStruct, // 2.
              rule: rule, // 3. 
             */
            //设置查询分页号
            queryParam.pageIndex = 0;
            //设置查询要素数目
            queryParam.recordNumber = 20;
            //queryParam.where = name;  sql
            /* 获取skill属性值包含web这个关键字 */
            queryParam.where = `skill like '%web%'`
            // 3.
            //实例化地图文档查询服务对象
            var queryService = new Zondy.Service.QueryDocFeature(queryParam, "myTestMap1", 4, {

            });
            // 4.
            //执行查询操作，querySuccess为查询回调函数
            queryService.query(querySuccess);
        }
        function querySuccess(data) {
            console.log(data,'data');
            //!!!下面这段老师没写，但要自己补上！
            var format = new Zondy.Format.PolygonJSON();
            //将MapGIS要素JSON反序列化为ol.Feature类型数组
            // console.log(format);
            var features = format.read(data);
            console.log(features, 'features')
        }
        queryByAttr();
    </script>
</body>

</html>